package com.lmabbe.tenant.objects.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * 模块资源表VO
 *
 * @author lmabbe
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "模块资源表")
public class ModuleResourceVO implements Serializable {

    /**
     * 模块ID
     */
    @ApiModelProperty(value = "模块ID")
    private Long resourceId;

    /**
     * 模块ID
     */
    @ApiModelProperty(value = "模块ID")
    private Long moduleId;

    /**
     * 资源名称
     */
    @ApiModelProperty(value = "资源名称")
    private String resourceName;

    @ApiModelProperty(value = "资源类型(1.目录 2.菜单 3.按钮)")
    private Integer resourceType;

    /**
     * 权限编码
     */
    @ApiModelProperty(value = "权限编码")
    private String authCode;

    /**
     * 通用菜单
     * True表示无需分配所有人就可以访问的
     */
    @ApiModelProperty(value = "通用菜单")
    private Boolean isGeneral;

    /**
     * 路径
     */
    @ApiModelProperty(value = "路径")
    private String path;

    /**
     * 组件
     */
    @ApiModelProperty(value = "组件")
    private String component;

    /**
     * 菜单图标
     */
    @ApiModelProperty(value = "菜单图标")
    private String icon;

    /**
     * 是否外链
     */
    @ApiModelProperty(value = "是否外链")
    private Boolean isFrame;

    /**
     * 外链地址
     */
    @ApiModelProperty(value = "外链地址")
    private Boolean url;

    /**
     * 是否缓存
     */
    @ApiModelProperty(value = "是否缓存")
    private Boolean isCache;

    /**
     * 父级菜单ID
     */
    @ApiModelProperty(value = "父级菜单ID")
    private Long parentId;

    @ApiModelProperty(value = "是否必选")
    private Boolean mandatory;

    @ApiModelProperty(value = "是否是平台参数")
    private Boolean platform;

    @ApiModelProperty(value = "是否是只读")
    private Boolean readonly;

    @ApiModelProperty(value = "是否包含子级")
    private Boolean hasChild;

}